/* universal styling for all elements */
*{
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

/* sets the body's background colour and font*/
body{
    background-color: rgb(226, 226, 226);
    font-family: 'Poppins', sans-serif;
    color: rgb(41, 41, 41);
}

/* styles the navigation bar and position*/
nav {
    display: flex;
    justify-content: space-around;
    align-items: center;
    min-height: 8vh;
    background-color: #1e7974;
    position: sticky;
	top: 0px;
    width: 100%;
    z-index: 2;
}

/* sets the background of the header bar to an opacity of 0.9 when the user scrolls */
nav.active {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: #1e7974;
	opacity:0.9;
    min-height: 8vh;
    position: sticky;
	top: 0;
    width: 100%;
    z-index: 2;
	transition: all 0.6s;
}

/* styles the position of the navigation links */
.nav-links{
    display: flex;
    justify-content: space-around;
    width: 40%;
}

/* styles the text of the navigation bar links */
.nav-links a{ 
    color: rgb(226, 226, 226);
    text-decoration: None;
    font-size: 16px;
    letter-spacing: 2px;
}

/* styles the text of the navigation bar links, when they're hovered over */
.nav-links a:hover{ 
    opacity: 0.5;
    text-decoration: None;
}

/* removes bullet points from the navigation bar links */
.nav-links li{ 
    list-style: none;
}

/* styles logo */
.logo{ 
    padding-top: 10px;
    padding-bottom: 10px;
	z-index: 2;
}

/* styles logo when hovered over */
.logo img:hover{ 
    opacity: 0.5;
    cursor: pointer;
}

/* hides burger and creates a pointer cursor when hovered over */
.burger { 
    display: none; 
    cursor: pointer;
}

/* styles burger */
.burger div{
    width: 23px;
    height: 3px;
    background-color: rgb(226, 226, 226);
    margin: 5px;
    transition: all 0.3s ease;
}

/* styling contents when the max-width is 1024px */
@media screen and (max-width:1024px){
    body{ 
        overflow-x: hidden;
    }

    /* styles and adds transition and transformation to the navigation bar links */
    .nav-links{ 
        position: absolute; 
        right: 0px; 
        height: 92vh;
        top: 8vh; 
        background-color: #1e7974;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 40%;
        transform: translateX(100%);
        transition: transform 0.5s ease-in;
    }

    /* styles the navigation bar links */
    .nav-links li{ 
        opacity: 0;
    } 

    /* sets the burger to block positioning */
    .burger{ 
        display: block;
    }
}

/* moves the navigation links from the right, with an opacity fade in effect */
.nav-active{ 
    transform: translateX(0%);
}

@keyframes navLinkFade{
    from{ 
        opacity: 0;
        transform: translateX(50px);
    }
    to{ 
        opacity: 1;
        transform: translateX(0px);
    }
}

/* tranforms and translates the first line of the burger menu */
.toggle .line1{ 
    transform: rotate(-45deg) translate(-5px,6px);
}

/* sets the opacity of the second line of the burger menu */
.toggle .line2{ 
    opacity: 0;
}

/* tranforms and translates the third line of the burger menu */
.toggle .line3{ 
    transform: rotate(45deg) translate(-5px,-6px);
}

/* styles the footer section */
.footer{ 
    background-color: rgb(41, 41, 41);
    padding: 40px 0;
}

/* styles the footer section */
.footer .social { 
    text-align: center;
    padding-bottom: 25px;
    color: rgb(226, 226, 226);
}

/* styles the footer's social media icons */
.footer .social a { 
    font-size: 24px;
    color: inherit;
    border: 1px solid rgb(226, 226, 226);
    width: 40px; 
    height: 40px;; 
    line-height: 38px;
    display: inline-block;
    text-align: center;
    border-radius: 50%;
    margin: 0 8px;
    opacity: 0.75;
}

/* styles the footer's social media icons when hovered over */
.footer .social a:hover { 
    opacity: 1;
}

/* styles the footer's page links */
.footer ul { 
    margin-top: 0; 
    margin-bottom: 0;
    list-style: none;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 0;
    text-align: center;
}

/* styles the footer's page links */
.footer ul a { 
    color: rgb(226, 226, 226);
    text-decoration: none;
    opacity: 0.8;
}

/* positions the footer's page links */
.footer ul li {
    display: inline-block;
    padding: 0 15px;
}

/* styles the footer's page links when hovered over */
.footer ul li a:hover{ 
    opacity: 1;
}

/* styles the copyright text on the footer */
.footer .copyright{ 
    margin-top: 15px;
    text-align: center;
    font-size: 14px;
    color:rgb(102, 102, 102);
}

/* styles the content when the max-width is 1285px */
@media screen and (max-width:1285px){

    /* changes the font size of the navigation elements */
    .footer ul a {
        font-size: 15px;
    }
}

/* sets the background of the registration form section */
.registration-form-section {
    background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url("../../assets/happy-police-men-waving.jpg");
    justify-content: center;
    align-items: center;
    display: flex;
    height: 800px;
}

/* styles the registration form */
.registration-form { 
    width: 400px;
    color: rgb(226, 226, 226);
}

/* styles the registration form's title text */
.registration-form h1{ 
    font-size: 40px; 
    text-align: center;
    margin-bottom: 15px; 
}

/* styles the registration form's text */
.registeration-form p{
    font-size: 16px;
    margin: 15px 0;
}

/* styles the registration form's input fields */
.registration-form input { 
    font-size: 16px;
    width: 100%; 
    padding: 7px 10px; 
    border: 0;
    outline: none;
    border-radius: 50px;
    background-color: rgb(226, 226, 226);
}

/* styles the registration form's button */
.registration-form button {
    font-size: 18px; 
    font-weight: bold; 
    padding-top: 10px; 
    padding-bottom: 10px;
    width: 100%; 
    border-radius: 50px;
    border: 0;
    margin-top: 28px;
    background-color: #1e7974;
    color: rgb(226, 226, 226);
}

/* styles the registration's button when hovered over */
.registration-form button:hover{
    background-color: #228a83;
    cursor: pointer;
    color: rgb(226, 226, 226);
}

/* positions registration's button */
.registration {
    display: flex;
    justify-content: center;
    font-size: 16px;
}

/* changes size of button's font */
.registration-form button { 
    font-size: 16px;
}

/* styles and positions the back to top button */
#btnScrollToTop {
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 50px; 
    height: 50px; 
    border-radius: 50%;
    background-color: #d64567;
    box-shadow: 0 0 10px rgb(0, 0, 0, 0.25);
    color: rgb(226, 226, 226);
    outline: none;
    cursor: pointer;
    border: none;
}

/* styles the back to top button when hovered over */
#btnScrollToTop:hover {
    background-color: #9e2541;
}

/* styles the back to top button when active */
#btnScrollToTop:active {
    background-color: #9e2541;
}

/* adds 20px margin to the top and bottom of the submit button */
.form-btn{ 
    margin-top: 20px;
}

/* aligns registrations form's text to the center */
.registration-form p{
    text-align: center;
    margin: 5px;
}

/* styles the form's button */
.form-btn{ 
    color:rgb(226, 226, 226);
    background-color: #1e7974;
}

/* styles the form's button when hovered over */
.form-btn:hover{ 
    background-color: #228a83;
    cursor: pointer;
}

/* changes the links' font color */
a{
    color:#6f98ff;
}

/* styles the '*' symbol */ 
span.required{ 
	color: rgb(226, 226, 226);
}